package done.easy_001_100;

import lombok.extern.slf4j.Slf4j;
import org.junit.Test;

/**
 * 14. Longest Common Prefix 最长共同前缀
 * <p>
 * 编写一个函数来查找字符串数组中的最长公共前缀。
 * 如果不存在公共前缀，返回空字符串 ""。
 * <p>
 * 示例 1:
 * 输入: ["flower","flow","flight"]
 * 输出: "fl"
 * <p>
 * 示例 2:
 * 输入: ["dog","racecar","car"]
 * 输出: ""
 * 解释: 输入不存在公共前缀。
 *
 * @author 大硕
 * 2019-03-22 7:06 AM
 **/
@Slf4j
public class LongestCommonPrefix {

    @SuppressWarnings("all")
    public String longestCommonPrefix(String[] strs) {
        String res = "";
        //190322 first
        return res;
    }

    @Test
    public void test() {
        String[] strs = new String[]{"flower", "flow", "flight"};
        log.info("result:{}", longestCommonPrefix(strs));
    }
}



























/*
public String longestCommonPrefix(String[] strs) {
    if (strs == null || strs.length == 0) return "";
    String res = new String();

    //NO.1 取出第一个元素进行遍历
    for (int j = 0; j < strs[0].length(); ++j) {

        //NO.2 遍历第一个元素中的每一个字节
        char c = strs[0].charAt(j);

        //NO.3 与后面每一个元素的相应位置字节 进行判断
        for (int i = 1; i < strs.length; ++i) {

            // NO.4 如果第一个元素长度 >= 当前元素遍历长度
            // 或者相应位置的元素值不匹配 就返回
            if (j >= strs[i].length() || strs[i].charAt(j) != c) {
                return res;
            }
        }

        //将元素放入结果集
        res += Character.toString(c);
    }
    return res;
}
*/
